Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

280
Visualizações
Cómo descifrar AES SubtleCrypto [window.subtle.crypto] en CryptoJS

Estoy intentando migrar de solo navegador window.subtle.crypto a CryptoJS para que esté disponible universalmente en todas las plataformas que usan Expo.

Esencialmente: window.subtle.encrypt({name: AES-GCM}) -> CryptoJS.AES.decrypt

Para los datos cifrados existentes, CryptoJS debería poder descifrarlos utilizando la clave generada por AES desde window.subtle.generateKey, por lo que el método para window.subtle.encrypt no se puede cambiar y se hace como se describe a continuación.

Quiero descifrar el window.subtle.encrypt cifrado en CryptoJS.AES.decrypt de CryptoJS.AES.decrypt

así que para esto, he escrito este código de prueba:

 const text = "This is an encrypted message"; const generateKey = async () => { const key = await window.crypto.subtle.generateKey({ name: "AES-GCM", length: 128 }, true, ["encrypt", "decrypt"]); const key_exported = await window.crypto.subtle.exportKey("jwk", key); return key_exported.k; } const printCurrent = async () => { let kkey = await generateKey(); await window.crypto.subtle.importKey( "jwk", { k: kkey, alg: "A128GCM", ext: true, key_ops: ["encrypt", "decrypt"], kty: "oct", }, { name: "AES-GCM", length: 128 }, false, ["encrypt", "decrypt"] ).then(function(key){ window.crypto.subtle.encrypt({ name: "AES-GCM", iv: new Uint8Array(12) }, key, new TextEncoder().encode(JSON.stringify(text))).then( function(encryptedObject){ const cryptojs = CryptoJS.AES.decrypt(encryptedObject,key,{iv: new Uint8Array(12)); console.log("cryptojs: ", cryptojs.toString(CryptoJS.enc.Utf8)); }); } ); } printCurrent();

He visto que CryptoJS solo acepta WordArray, y la salida del objeto cifrado ['encryptedObject'] de la criptografía sutil es ArrayBuffer [tamaño 46], he intentado convertir ArrayBuffer a WordArray a través de CryptoJS.lib.WordArray.create(encryptedObject) pero todavía sin suerte.

Cualquier ayuda u orientación es apreciada, ¡muchas gracias!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda